/////////////////////////////////////////////////////////////////////////////
// Name:        SettingsDlg.h
// Purpose:     
// Author:      Andrew (cod) Bulavinov
// Modified by: 
// Created:     06/01/2009 17:31:12
// RCS-ID:      
// Copyright:   
// Licence:     
/////////////////////////////////////////////////////////////////////////////

#ifndef _SETTINGSDLG_H_
#define _SETTINGSDLG_H_


/*!
 * Includes
 */

////@begin includes
#include "wx/statline.h"
////@end includes

/*!
 * Forward declarations
 */

////@begin forward declarations
////@end forward declarations

/*!
 * Control identifiers
 */

////@begin control identifiers
#define SYMBOL_SETTINGSDLG_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX|wxTAB_TRAVERSAL
#define SYMBOL_SETTINGSDLG_TITLE _("Settings")
#define SYMBOL_SETTINGSDLG_IDNAME ID_SETTINGSDLG
#define SYMBOL_SETTINGSDLG_SIZE wxSize(400, 300)
#define SYMBOL_SETTINGSDLG_POSITION wxDefaultPosition
////@end control identifiers


/*!
 * SettingsDlg class declaration
 */

class SettingsDlg: public wxDialog
{    
    DECLARE_DYNAMIC_CLASS( SettingsDlg )
    DECLARE_EVENT_TABLE()

public:
    /// Constructors
    SettingsDlg();
    SettingsDlg( wxWindow* parent, wxWindowID id = SYMBOL_SETTINGSDLG_IDNAME, const wxString& caption = SYMBOL_SETTINGSDLG_TITLE, const wxPoint& pos = SYMBOL_SETTINGSDLG_POSITION, const wxSize& size = SYMBOL_SETTINGSDLG_SIZE, long style = SYMBOL_SETTINGSDLG_STYLE );

    /// Creation
    bool Create( wxWindow* parent, wxWindowID id = SYMBOL_SETTINGSDLG_IDNAME, const wxString& caption = SYMBOL_SETTINGSDLG_TITLE, const wxPoint& pos = SYMBOL_SETTINGSDLG_POSITION, const wxSize& size = SYMBOL_SETTINGSDLG_SIZE, long style = SYMBOL_SETTINGSDLG_STYLE );

    /// Destructor
    ~SettingsDlg();

    /// Initialises member variables
    void Init();

    /// Creates the controls and sizers
    void CreateControls();

////@begin SettingsDlg event handler declarations

    /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BTN_SRC_ADD
    void OnBTNSRCADDClick( wxCommandEvent& event );

    /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BTN_SRC_REMOVE
    void OnBTNSRCREMOVEClick( wxCommandEvent& event );

    /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BTN_FIELD_ADD
    void OnBTNFIELDADDClick( wxCommandEvent& event );

    /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BTN_FIELD_REMOVE
    void OnBTNFIELDREMOVEClick( wxCommandEvent& event );

////@end SettingsDlg event handler declarations

////@begin SettingsDlg member function declarations

    /// Retrieves bitmap resources
    wxBitmap GetBitmapResource( const wxString& name );

    /// Retrieves icon resources
    wxIcon GetIconResource( const wxString& name );
////@end SettingsDlg member function declarations

    /// Should we show tooltips?
    static bool ShowToolTips();

////@begin SettingsDlg member variables
    wxCheckListBox* m_SourcesList;
    wxTextCtrl* m_Filters;
    wxCheckListBox* m_FieldsList;
    /// Control identifiers
    enum {
        ID_SETTINGSDLG = 10015,
        ID_SOURCES_LIST = 10001,
        ID_TEXTCTRL = 10006,
        ID_BTN_SRC_ADD = 10003,
        ID_BTN_SRC_REMOVE = 10004,
        ID_FIELDS_LIST = 10005,
        ID_BTN_FIELD_ADD = 10019,
        ID_BTN_FIELD_REMOVE = 10020
    };
////@end SettingsDlg member variables
};

#endif
    // _SETTINGSDLG_H_
